Solving A Practical Intermediate React Interview Challenge